package de.fhd.pms.ctrl;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import de.fhd.pms.model.Auto;

/**
 * The Home Controller class. Its tasks:
 * <ul>
 * <li>read and verify the parameters</li>
 * <li>access to the objects of the system</li>
 * <li>selection of the view and provision of content for the view</li>
 * </ul>
 * 
 * @author Josef Fischer
 * @author Alexander Neetzel
 * @author Philipp Six
 * 
 */
@Controller
public class HomeController {
	private static Logger log = Logger.getLogger(HomeController.class);

	/**
	 * Custom handler for the welcome view. Note that this handler relies on the
	 * RequestToViewNameTranslator to determine the logical view name based on
	 * the request URL: "/index.html"
	 * 
	 * @return View name 'kunde-home' selecting view '/view/kunde-home.jsp'
	 */
	@RequestMapping("/Index.html")
	public ModelAndView edit() {
		log.info("welcome");
		ModelAndView mv = new ModelAndView();
		mv.addObject("title", "Schnell & günstig Fahrzeuge in München mieten!");
		mv.addObject(
				"message1",
				"Willkommen auf dem Portal unserer Autovermietung! "
						+ "Hier wird das Mieten zu einer einfachen und schnellen Angelegenheit. Wir organisieren die Fahrzeugverteilung an verschiedenen, über das Stadtgebiet von München verteilte Stationen. Nach Ihrer Anmeldung haben Sie die Möglichkeit einen Wagen aus unserer Flotte auszuwählen, mit dem Sie Ihre Fahrt antreten möchten. Geben Sie das Auto wieder bei einer Station ab, so wird unser Service Ihre Nutzungsgebühren berechnen und Ihnen in Rechnung stellen.");
		mv.setViewName("kunde-home");
		return mv;
	}

	/**
	 * Custom handler for the price view. This is only a informal view for the
	 * customer as it shows the rates for the different {@link Auto} objects.
	 * 
	 * @return View name 'kunde-price' selecting view '/view/kunde-price.jsp'
	 */
	@RequestMapping("/Price.html")
	public ModelAndView price() {
		log.info("price");
		ModelAndView mv = new ModelAndView();
		mv.addObject("title", "Preise");
		mv.addObject("message1", "Die Preise setzen sich wie folgt zusammen.");
		mv.setViewName("kunde-price");
		return mv;
	}

}
